home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / language / modula.zoo / _defn_ex_gemvdiba.def < prev    next >
Text File  |  1988-04-24  |  3KB  |  92 lines

  1. DEFINITION MODULE GEMVDIbase;
  2.  
  3.  
  4. (* ------------------------------------------------------------- *)
  5. (*                                                               *)
  6. (*      Modula-2 interface to GEM Virtual Device Interface       *)
  7. (*                                                               *)
  8. (* ------------------------------------------------------------- *)
  9.  
  10. (* ------------------------------------------------------------- *)
  11. (* (c) Copyright Lehrstuhl für Prozeßrechner   TU München   1987 *)
  12. (* ------------------------------------------------------------- *)
  13.  
  14.  
  15.  
  16. FROM SYSTEM IMPORT ADDRESS;
  17.  
  18. TYPE
  19.   VDIWorkInType     = ARRAY [0..10]  OF INTEGER;
  20.   VDIWorkOutType    = ARRAY [0..57]  OF INTEGER;
  21.   PxyArrayType      = ARRAY [0..3]   OF INTEGER;
  22.   BigPxyArrayType   = ARRAY [0..7]   OF INTEGER;
  23.   MouseArrayType    = ARRAY [0..38]  OF INTEGER;
  24.   SmallArrayType    = ARRAY [0..1]   OF INTEGER;
  25.   RGBArrayType      = ARRAY [0..2]   OF INTEGER;
  26.   TextAttrArrayType = ARRAY [0..9]   OF INTEGER;
  27.   FontNameType      = ARRAY [0..31]  OF CHAR;
  28.   DistanceArrayType = ARRAY [0..4]   OF INTEGER;
  29.   FilmNameType      = ARRAY [0..124] OF CHAR;
  30.   FilmIndexType     = ARRAY [0..7],[0..1] OF INTEGER;
  31.   CtrlArrayType     = ARRAY [0..127] OF INTEGER;
  32.  
  33.  
  34. VAR
  35.   contrl:         ARRAY [0..11] OF INTEGER;
  36.  
  37.   intin,
  38.   ptsin,
  39.   intout,
  40.   ptsout:         CtrlArrayType;
  41.  
  42.   i, h:           INTEGER;
  43.  
  44.   ADRintin,
  45.   ADRptsin,
  46.   ADRintout,
  47.   ADRptsout,
  48.   ADRParams:      ADDRESS;
  49.  
  50.   parameterBlock: ARRAY [0..4] OF ADDRESS;
  51.  
  52.  
  53.  
  54. PROCEDURE CopyInt (VAR IntArray: ARRAY OF INTEGER; length: INTEGER);
  55.  
  56. (* Copy IntArray[0] ... IntArray[length-1]
  57.    to      intin[0] ...    intin[length-1]  *)
  58.  
  59.  
  60. PROCEDURE CopyPxy (VAR PxyArray: ARRAY OF INTEGER; pts: INTEGER);
  61.  
  62. (* Copy PxyArray[0] ... PxyArray[pts*2 - 1]
  63.    to      ptsin[0] ...    ptsin[pts*2 - 1] *)
  64.  
  65.  
  66. PROCEDURE CallVDI;
  67.  
  68. (* Perform trap to GEM VDI *)
  69.  
  70.  
  71. PROCEDURE CallVDI2 (function, handle: INTEGER);
  72.  
  73. (* Set contrl[0] and contrl[6] and perform trap to GEM VDI *)
  74.  
  75.  
  76. PROCEDURE CallVDI4 (function, handle, pts, int: INTEGER);
  77.  
  78. (* Like "CallVDI2", additionally sets contrl[1] and contrl[3] *)
  79.  
  80.  
  81. PROCEDURE CallVDI5 (function, subfunction, handle, pts, int: INTEGER);
  82.  
  83. (* Like "CallVDI4", additionally sets contrl[5] with "subfunction" *)
  84.  
  85.  
  86. PROCEDURE SetContrl (c0, c1, c3, c5, c6: INTEGER);
  87.  
  88. (* Set passed parameters into the control array,
  89.    subsequent call of "CallVDI" necessary        *)
  90.  
  91. END GEMVDIbase.
  92.